<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <h2>常见 Git 命令的清单，每个命令后简要说明其功能：</h2>

  <h3>1. 初始化与配置</h3>
  <p>git init: 在当前目录下创建一个新的 Git 仓库。
    <br>git config --global user.name "Your Name"
    <br>git config --global user.email "youremail@example.com"
    <br>设置全局的用户名和电子邮件地址，用于标识提交者。
  </p>

  <h3>2. 工作区与暂存区操作</h3>
  <p>git status: 查看当前工作目录和暂存区的状态，显示哪些文件已修改、未跟踪、暂存等。
    <br>git add <file>: 将指定文件添加到暂存区，准备进行提交。
    <br>git add .: 将当前目录下所有改动的文件（包括新文件）添加到暂存区。
    <br>git rm --cached <file>: 从暂存区中移除指定文件，保留工作区中的文件（即取消对文件的跟踪）。
    <br>git restore <file>: 放弃工作区中指定文件的修改，恢复到最近一次提交的状态。
  </p>

  <h3>3. 提交与历史查询</h3>
  <p>git commit -m "commit message": 提交暂存区中的所有更改到本地仓库，附带提供的提交消息。
    <br>git log: 显示提交历史记录，包括每次提交的哈希值、作者、日期和提交消息。
    <br>git show <commit_id>: 显示指定提交的详细信息，如提交信息、差异内容等。
  </p>

  <h3>4. 分支管理</h3> 
  <p> git branch: 列出本地所有分支。
    <br>git branch <new_branch>: 创建新的本地分支。
    <br> git checkout <branch>: 切换到指定分支。
    <br> git merge <branch>: 合并指定分支到当前分支。
    <br> git branch -d <branch>: 删除已合并的本地分支。  
  </p>

  <h3>5. 远程交互</h3>
  <p>git clone <repository>: 从远程仓库克隆项目到本地。
      <br>git fetch: 从远程仓库获取所有分支的最新提交，但不自动合并到本地。
      <br>git pull: 从远程仓库拉取并自动合并到当前分支。可选参数 --rebase 用于在拉取后进行变基操作，保持线性提交历史。
      <br>git push: 将本地分支的提交推送到远程仓库对应分支。
  </p>

  <h3>6. 版本回溯与差异检查</h3>
  <p>git diff: 比较工作区与暂存区之间的差异，或比较不同提交之间的差异。
    <br> git diff --staged: 比较暂存区与最后一次提交之间的差异。
    <br> git checkout <commit_id> -- <file>: 将指定文件恢复到指定提交时的状态。
    <br> git revert <commit_id>: 创建一个新的提交，撤销指定提交的影响。
  </p>

  <h3>7. 标签管理</h3>
  <p>git tag <tag_name>: 为当前提交打上标签。
    <br>git tag: 列出所有本地标签。
    <br>git push origin <tag_name>: 推送指定标签到远程仓库。
    <br> git tag -d <tag_name>: 删除本地标签。
  </p>
</body>

</html>